<!DOCTYPE html>
<html class="client-nojs vector-feature-language-in-header-enabled vector-feature-language-in-main-page-header-disabled vector-feature-page-tools-pinned-disabled vector-feature-toc-pinned-clientpref-0 vector-toc-not-available vector-feature-main-menu-pinned-disabled vector-feature-limited-width-clientpref-1 vector-feature-limited-width-content-enabled vector-feature-custom-font-size-clientpref-1 vector-feature-appearance-pinned-clientpref-0 skin-theme-clientpref-day vector-sticky-header-enabled" lang="de" dir="ltr"><head>
<meta charset="UTF-8">
<title>Remote Initial Program Load</title>
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<link rel="icon" type="image/png" href="./_res_/favicon.png">
<link rel="canonical" href="https://de.wikipedia.org/wiki/Remote_Initial_Program_Load"> <link href="./_mw_/ext.wikimediamessages.styles.css" rel="stylesheet" type="text/css">
<link href="./_mw_/skins.vector.icons.css" rel="stylesheet" type="text/css">
<link href="./_mw_/skins.vector.search.codex.styles.css" rel="stylesheet" type="text/css">
<link href="./_mw_/skins.vector.styles.css" rel="stylesheet" type="text/css">
<meta name="ResourceLoaderDynamicStyles" content="">
<link href="./_mw_/ext.gadget.citeRef.css" rel="stylesheet" type="text/css">
<link href="./_mw_/ext.gadget.defaultPlainlinks.css" rel="stylesheet" type="text/css">
<link href="./_mw_/ext.gadget.dewikiCommonHide.css" rel="stylesheet" type="text/css">
<link href="./_mw_/ext.gadget.dewikiCommonLayout.css" rel="stylesheet" type="text/css">
<link href="./_mw_/ext.gadget.dewikiCommonStyle.css" rel="stylesheet" type="text/css">
<link href="./_mw_/ext.gadget.dewikiDarkmode.css" rel="stylesheet" type="text/css">
<link href="./_mw_/ext.gadget.dewikiResponsive.css" rel="stylesheet" type="text/css">
<link href="./_mw_/ext.gadget.specialSearch.css" rel="stylesheet" type="text/css">
<link rel="stylesheet" type="text/css" href="./_mw_/site.styles.css">
<link rel="stylesheet" type="text/css" href="./_mw_/noscript.css">
<link rel="stylesheet" type="text/css" href="./_res_/footer.css">
<link rel="stylesheet" type="text/css" href="./_res_/vector-2022.css">
</head>
<body class="skin--responsive skin-vector skin-vector-search-vue mediawiki ltr sitedir-ltr mw-hide-empty-elt ns-0 ns-subject page-Remote_Initial_Program_Load rootpage-Remote_Initial_Program_Load skin-vector-2022 action-view">
<div class="mw-page-container">
<div class="mw-page-container-inner">
<div class="mw-content-container">
<main id="content" class="mw-body">
<header class="mw-body-header vector-page-titlebar">
<h1 id="firstHeading" class="firstHeading mw-first-heading"><span class="mw-page-title-main">Remote Initial Program Load</span></h1>
</header>
<a id="top"></a>
<div id="bodyContent" class="vector-body ve-init-mw-desktopArticleTarget-targetContainer" aria-labelledby="firstHeading" data-mw-ve-target-container="">
<div id="contentSub">
<div id="mw-content-subtitle"></div>
</div>
<div id="mw-content-text" class="mw-body-content mw-content-ltr" lang="de" dir="ltr"><div class="mw-content-ltr mw-parser-output" lang="de" dir="ltr"><p><b>Remote Initial Program Load</b> (Abkürzung: <b>RIPL</b>; deutsch: Fernes einleitendes Programmladen) bezeichnet den Vorgang des Startens eines <a href="Betriebssystem" title="Betriebssystem">Betriebssystems</a> über das <a href="Netzwerk" title="Netzwerk">Netzwerk</a> von einem <a href="Server" title="Server">Server</a>, auf dem ein RIPL-Dienst aktiviert ist, welcher unter den Netzwerkbetriebssystemen <a href="LAN_Manager" title="LAN Manager">LAN Manager</a>, <a href="LAN_Server" title="LAN Server">LAN Server</a>, <a href="Windows_NT" class="mw-redirect" title="Windows NT">Windows NT</a> Server und <a href="Novell" title="Novell">Novell</a> <a href="Netware" class="mw-redirect" title="Netware">Netware</a> unterstützt wird.
</p>
<div class="mw-heading mw-heading2"><h2 id="IBM_LAN_Server">IBM LAN Server</h2></div>
<p>Der IBM LAN Server bietet über das 802.2/DLC-Protokoll den Clients (sogenannten RIPL-Requestern) die Möglichkeit, die Betriebssysteme <a href="DOS" class="mw-redirect" title="DOS">DOS</a> oder <a href="OS/2" title="OS/2">OS/2</a> über das lokale Netzwerk (meist <a href="Token_Ring" title="Token Ring">Token Ring</a>) zu laden.
</p><p>Der Server überwacht das lokale Netz hierbei und überprüft die Anfragen einzelner Stationen mit den Einträgen in der Zuordnungstabelle RPL.MAP.
</p>
<div class="mw-heading mw-heading2"><h2 id="RPL_und_DOS">RPL und DOS</h2></div>
<p>Während der Startphase des DOS-Betriebssystems ergibt sich normalerweise das Problem, dass der zuvor über das Netzwerk geladene RPL-Code (RPL = Remote Program Load) im noch nicht allozierten konventionellen Speicher liegt (typischerweise am oberen Ende), aber trotzdem nicht überschrieben werden darf, während das frisch geladene Betriebssystem seine eigenen Verwaltungsstrukturen erst noch aufbauen muss. Normalerweise schützt sich der RPL-Code dadurch vor dem Überschreiben durch das Betriebssystem, dass er unter anderem die Kontrolle über die BIOS-Funktion INT 12 übernimmt, die von DOS zur Ermittlung der vorhandenen Real-Mode-Speichergröße aufgerufen wird.
</p><p>Das bringt verschiedene Schwierigkeiten insbesondere auf modernen DOS-Systemen mit sich, bei denen freie Speicherbereiche im Adapterbereich oder im Adressraum des Video-RAMs für Treiber und Teile des Betriebssystems genutzt werden können, um DOS-Anwendungen mehr freien konventionellen Speicher zur Verfügung zu stellen.
</p><p>Mit verschiedenen Tricks können diese Probleme zum Teil umgangen werden, aber der RPL-Code muss dafür tief in die Interna des geladenen Betriebssystems eingreifen, was nicht in allen Fällen sauber funktioniert, insbesondere, wenn auch noch andere geladene Treiber im Spiel sind, die ähnliche Methoden verwenden.
</p><p>Zur Absicherung des Verfahrens untersucht DOS ab MS-DOS/PC DOS 5.0 und DR DOS 6.0 beim Start den Code des INT-2F-Interruptvektors nach der Kennung "RPL" und ruft gegebenenfalls. die Funktion INT 2F/AX=4A06h auf, um vom RPL-Code die wahre Größe des verfügbaren Speichers zu erfahren und diesen praktisch durch die Hintertür in die Liste der von DOS allozierten Speicherbereiche aufzunehmen und damit vor dem Zugriff durch andere zu kapseln. Der RPL-Code ist aber immer noch dafür verantwortlich, sich am Ende der Bootphase sauber aus dem System zu entfernen.
</p><p>DR DOS unterstützt neben dem oben beschriebenen RPL-Interface auch eine erweiterte Form des Verfahrens namens RPLOADER, die mehr Flexibilität bietet. Erkennt DR DOS das Vorhandensein eines RPL-Codes mit der Kennung "RPLOADER" (statt nur "RPL"), so sendet das DOS-BIOS zusätzlich nach Erreichen bestimmter Stages innerhalb der Bootphase spezielle INT 2F/AX=12FFh/BX=0005h Broadcasts an den RPL-Code, um diesem die Möglichkeit zu geben, sich geeignet im Speicher zu relozieren (um den später für DOS-Anwendungen nutzbaren Speicher nicht durch den "im Weg liegenden" RPL-Code zu reduzieren), sich gar tiefer in das System einzuklinken oder auch um zusätzliche "Aufräumarbeiten" durchzuführen bzw. sich sauber aus dem System zu entfernen. Neben der Erhöhung der Kompatibilität, bestimmte Aktionen über ein definiertes Interface und zu definierten Zeitpunkten innerhalb der Bootphase abwickeln zu können, eine Reduzierung und Fragmentierung des Speichers zu vermeiden und so den für Anwendungen nutzbaren Speicher zu erhöhen und den RPL-Code nach Ende der Bootphase sauber aus dem System zu entfernen, kann das Interface auch dazu dienen, DR DOS als Task unter Host-Betriebssystemen wie Concurrent DOS zu laden.
</p>
<div class="mw-heading mw-heading2"><h2 id="Geschichte">Geschichte</h2></div>
<p>Das ferne Laden für DOS-Workstations über Images wurde schon 1990 vom IBM LAN Server 1.2 durch den Dienst PCDOSRPL unterstützt. Seit dem LAN Server 2.0 (1992) war es auch möglich OS/2-Stationen (ab Version 1.30.1) zu nutzen.
</p>
<div class="mw-heading mw-heading2"><h2 id="Siehe_auch">Siehe auch</h2></div>
<ul><li><a href="Booten" title="Booten">Booten</a></li>
<li><a href="LAN_Server" title="LAN Server">LAN Server</a></li>
<li><a href="OS/2_Warp_Server" title="OS/2 Warp Server">OS/2 Warp Server</a></li>
<li><a href="Preboot_Execution_Environment" title="Preboot Execution Environment">Preboot Execution Environment</a> (PXE) – eine Netzwerk-Boot-Technik von Intel.</li></ul>
<div class="mw-heading mw-heading2"><h2 id="Literatur">Literatur</h2></div>
<ul><li>GG24-3671-00: IBM Personal System/2 Advanced Server Planning Guide <i>(IBM Redbook)</i></li></ul>
<div class="mw-heading mw-heading2"><h2 id="Weblinks">Weblinks</h2></div>
<ul><li><a rel="nofollow" class="external text" href="http://gimel.esc.cam.ac.uk/james/rpld/index.html">RPLD</a> - Remote Boot Server</li></ul></div><!--htdig_noindex--><div><div class="zim-footer">
Dieser Artikel wurde von <a class="external text" title="Zuletzt bearbeitet am 2023-03-28" href="https://de.wikipedia.org/wiki/?title=Remote_Initial_Program_Load&oldid=232267363">Wikipedia</a> herausgegeben. Der Text ist unter <a class="external text" href="https://creativecommons.org/licenses/by-sa/4.0/deed.de">Creative Commons Attribution-Share Alike 4.0</a> verfügbar, sofern nicht anders angegeben. Für die Mediendateien können zusätzliche Bedingungen gelten.
</div>
</div><!--/htdig_noindex--></div>
</div>
</main>
</div>
</div>
</div>
<script src="./_webp_/webpHandler.js"></script>
</body></html>